import java.util.ArrayList;
import java.util.List;

/**
 * 嵌套列表类
 * 341、385 题使用
 */
public class NestedInteger {

    int val;  // 当前值
    List<NestedInteger> childs;  // 子列表

    public NestedInteger() {
        this.childs = new ArrayList<>();
    }

    public NestedInteger(int val) {
        this.val = val;
    }

    // 当前对象是否是整数对象
    public boolean isInteger() {
        return this.childs == null;
    }

    // 返回整数值
    public Integer getInteger() {
        return this.val;
    }

    // 设置整数值
    public void setInteger(int value) {
        this.val = value;
    }

    // 嵌套列表中添加一个 NestedInteger 对象
    public void add(NestedInteger ni) {
        // 嵌套列表中添加元素
        this.childs.add(ni);
    }

    // 返回当前 NestedInteger 对象的嵌套列表
    public List<NestedInteger> getList() {
        return this.childs;
    }
}